package xyj.sparrow.scheduler.server.connect;

import xyj.sparrow.common.connect.SparrowConnect;

import java.util.List;

/**
 * 连接管理接口
 *
 * @author 江南小俊
 * @since 2021/6/24
 **/
public interface ConnectManager {
    /**
     * 添加连接
     *
     * @param connect
     * @return void
     * @author Jim
     * @since 2021/6/24 下午5:40
     **/

    void addConnect(SparrowConnect connect);

    /**
     * 移除连接
     *
     * @param connect
     * @return void
     * @author Jim
     * @since 2021/6/24 下午5:40
     **/

    void removeConnect(SparrowConnect connect);

    /**
     * 获取连接列表
     *
     * @param appId
     * @return java.util.List<xyj.sparrow.common.connect.SparrowConnect>
     * @author Jim
     * @since 2021/6/24 下午5:40
     **/

    List<String> listConnectDesc(String appId);

    /**
     * 获取连接 （todo 定义获取策略） 广播策略就要获取全部连接了
     *
     * @param appId
     * @return xyj.sparrow.common.connect.SparrowConnect
     * @author Jim
     * @since 2021/6/24 下午5:41
     **/

    List<SparrowConnect> getConnect(String appId);
}
